package com.ruoyi.system.vo.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单对象 sys_order
 *
 * @author Ericcc
 * @date 2021-03-01
 */
public class SysOrderReq extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商户订单id */
    private Long orderId;

    /** 平台订单号 */
    @Excel(name = "平台订单号")
    private String orderCode;

    /** 下游订单号 */
    @Excel(name = "下游订单号")
    private String orderChildCode;

    /** 渠道流水号 */
    @Excel(name = "渠道流水号")
    private String orderChannelCode;

    /** 商户id */
    private Long userId;

    /** 商户编号 */
    @Excel(name = "商户编号")
    private Integer userCode;

    /** 通道id */
    private Long channelId;

    /** 账号名称 */
    @Excel(name = "账号名称")
    private String channelName;

    /** 交易金额 */
    @Excel(name = "交易金额")
    private BigDecimal orderAmount;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal orderCharge;

    /** 实际金额 */
    @Excel(name = "实际金额")
    private BigDecimal orderLastAmount;

    /** 成功时间 */
    private Date successTime;

    /** 状态（0.未处理，1.处理完成） */
    @Excel(name = "状态", readConverterExp = "0=.未处理，1.处理完成")
    private Integer status;

    /** 页面跳转地址 */
    private String callbackUrl;

    /** 服务器通知地址(回调地址) */
    private String notifyUrl;

    /** 备注 */
    @Excel(name = "备注")
    private String orderRemark;

    /** 支付链接 */
    private String payLink;

    /** 访问ip */
    private String ip;

    /** 付款人手机号 */
    @Excel(name = "付款人手机号")
    private String payMobile;

    /** 付款人名称 */
    @Excel(name = "付款人名称")
    private String payName;

    /** 付款人邮箱 */
    @Excel(name = "付款人邮箱")
    private String payEmail;

    /** 付款人upi */
    private String payUpi;

    /** 最后一次通知时间 */
    private Date lastNotifyTime;

    /** 最后一次通知内容 */
    private String lastNotifyContent;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private Date beginDate;

    private Date endDate;

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setOrderCode(String orderCode)
    {
        this.orderCode = orderCode;
    }

    public String getOrderCode()
    {
        return orderCode;
    }
    public void setOrderChildCode(String orderChildCode)
    {
        this.orderChildCode = orderChildCode;
    }

    public String getOrderChildCode()
    {
        return orderChildCode;
    }
    public void setOrderChannelCode(String orderChannelCode)
    {
        this.orderChannelCode = orderChannelCode;
    }

    public String getOrderChannelCode()
    {
        return orderChannelCode;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserCode(Integer userCode)
    {
        this.userCode = userCode;
    }

    public Integer getUserCode()
    {
        return userCode;
    }
    public void setChannelId(Long channelId)
    {
        this.channelId = channelId;
    }

    public Long getChannelId()
    {
        return channelId;
    }
    public void setChannelName(String channelName)
    {
        this.channelName = channelName;
    }

    public String getChannelName()
    {
        return channelName;
    }
    public void setOrderAmount(BigDecimal orderAmount)
    {
        this.orderAmount = orderAmount;
    }

    public BigDecimal getOrderAmount()
    {
        return orderAmount;
    }
    public void setOrderCharge(BigDecimal orderCharge)
    {
        this.orderCharge = orderCharge;
    }

    public BigDecimal getOrderCharge()
    {
        return orderCharge;
    }
    public void setOrderLastAmount(BigDecimal orderLastAmount)
    {
        this.orderLastAmount = orderLastAmount;
    }

    public BigDecimal getOrderLastAmount()
    {
        return orderLastAmount;
    }
    public void setSuccessTime(Date successTime)
    {
        this.successTime = successTime;
    }

    public Date getSuccessTime()
    {
        return successTime;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setCallbackUrl(String callbackUrl)
    {
        this.callbackUrl = callbackUrl;
    }

    public String getCallbackUrl()
    {
        return callbackUrl;
    }
    public void setNotifyUrl(String notifyUrl)
    {
        this.notifyUrl = notifyUrl;
    }

    public String getNotifyUrl()
    {
        return notifyUrl;
    }
    public void setOrderRemark(String orderRemark)
    {
        this.orderRemark = orderRemark;
    }

    public String getOrderRemark()
    {
        return orderRemark;
    }
    public void setPayLink(String payLink)
    {
        this.payLink = payLink;
    }

    public String getPayLink()
    {
        return payLink;
    }
    public void setIp(String ip)
    {
        this.ip = ip;
    }

    public String getIp()
    {
        return ip;
    }
    public void setPayMobile(String payMobile)
    {
        this.payMobile = payMobile;
    }

    public String getPayMobile()
    {
        return payMobile;
    }
    public void setPayName(String payName)
    {
        this.payName = payName;
    }

    public String getPayName()
    {
        return payName;
    }
    public void setPayEmail(String payEmail)
    {
        this.payEmail = payEmail;
    }

    public String getPayEmail()
    {
        return payEmail;
    }
    public void setPayUpi(String payUpi)
    {
        this.payUpi = payUpi;
    }

    public String getPayUpi()
    {
        return payUpi;
    }
    public void setLastNotifyTime(Date lastNotifyTime)
    {
        this.lastNotifyTime = lastNotifyTime;
    }

    public Date getLastNotifyTime()
    {
        return lastNotifyTime;
    }

    public String getLastNotifyContent() {
        return lastNotifyContent;
    }

    public void setLastNotifyContent(String lastNotifyContent) {
        this.lastNotifyContent = lastNotifyContent;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getBeginDate() {
        return beginDate;
    }

    public void setBeginDate(Date beginDate) {
        this.beginDate = beginDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }
}